The invention relates generally to processing of data messages in a network element of a communications network. An advantageous application environment of the invention is a network element in an intelligent network, such as an SCP network element, but the solution of the invention can be implemented in any network element in which data messages having a predetermined structure and comprising data structures within one another, some of said structures being optional, are received. These data messages can be for example messages used in common channel signalling. In the following, the invention will be described using an intelligent network environment by way of example.
The rapid evolvement of the telecommunications field has afforded operators the capability of providing many different types of services to users. A network architecture that provides advanced services is called an intelligent network. The common abbreviation for intelligent network is IN.
The functional architecture of an intelligent network is shown in FIG. 1 where the functional entities of the network are shown as ovals. This architecture is described briefly below, because the invention will be described hereinafter with reference to the intelligent network environment.
The access of the end user (subscriber) to the network is handled by the CCAF (Call Control Agent Function). The access to the IN services is implemented by making additions to existing digital exchanges. This is done by using the basic call state model BCSM which describes the existing functionality used to process a call between two users. The BCSM is a high level state automation description of the call control functions CCF required for establishing and maintaining a connection route between users. Functionality is added to this state model by using the service switching function SSF (cf. the partial overlap of the entities CCF and SSF in FIG. 1) so that it is possible to decide when it is necessary to call the services of the intelligent network (the IN services). After these IN services have been called, the service control function SCF that contains the service logic for the intelligent network handles the service-related processing (of the call attempt). The service switching function SSF thereby connects the call control function CCF to the service control function SCF and allows the service control function SCF to control the call control function CCF. For example, SCF can request that the SSF/CCF perform specific call or connection functions, for example charging or routing operations. The SCF can also send requests to the service data function SDF which handles the access to the service-related data and network data of the intelligent network. The SCF can thus for example request the SDF to retrieve specific service-related data or update this data.
The functions described above are further complemented by the specialized resources function SRF which provides the special functions required for implementing some of the services provided by the intelligent network. Examples of these services are protocol conversions, speech recognition, voice mail, etc. The SCF can, for example, request the SSF/CCF functions to first establish a connection between the end users and SRF and then it can request the SRF to give voice announcements to the end users.
Other functional entities of the intelligent network are various functions that relate to control, such as the SCEF (Service Creation Environment Function), SMF (Service Management Function), and SMAF (Service Management Access Function). The SMF includes, among other things, service control, the SMAF provides the connection to the SMF, and the SCEF makes it possible to specify, develop, test and feed IN services via the SMF to the SCF. Because these functions only relate to the operation of the network operator, they are not shown in FIG. 1.
The role of the functional entities described in FIG. 1 as relating to the IN services will be briefly described below. The CCAF receives the service request given by the calling party. The service request usually consists of lifting the receiver and/or a series of digits dialled by the calling party. The CCAF further transmits the service request to the CCF/SSF for processing. The call control function CCF does not have the service data but it has been programmed to recognize the need of a service request. The CCF interrupts the call setup for a moment and notifies the service switching function SSF about the state of the call. The task of the SSF is, using predefined criteria, to interpret the service request and thus determine whether the request is a service request related to the IN services. If this is the case, the SSF composes a standardized IN service request and sends the request to the SCF along with information about the state of the service request. The SCF receives the request and decodes it. After that it cooperates with the SSF/CCF, SRF, and SDF to provide the requested service to the end user.
The physical level architecture of the intelligent network describes how the functional entities described above are located in the physical entities of the network. The physical architecture of the intelligent network is illustrated in FIG. 2, where the physical entities are described as rectangles or circles and functional entities as ovals. The signalling connections are described by dashed lines and the actual transport which is for example speech, by continuous lines. The optional functional entities are denoted with dashed line. The signalling network shown in the Figure is a network according to SS7 (Signalling System Number 7 is a well-known signalling system described in the CCITT (nowadays ITU-T) blue book Specifications of Signalling System No. 7, Melbourne 1988).
The subscribers equipment SE which can include, for example, a telephone, computer, or telefax, are connected either directly to a service switching point SSP or to a network access point NAP.
The service switching point SSP provides the user with access to the network and handles all necessary selection functions. The SSP can also detect any IN service requests. Functionally, the SSP includes the call control and service selection functions.
The network access point NAP is a traditional telephone exchange that includes the call control function CCF, for example, the Applicants"" DX 220 exchange which can differentiate calls that require IN services from traditional calls and route the calls that require IN services to the appropriate SSP.
The service control point SCP includes the service logic programs SLP that are used to produce the IN services. The shorter term service program will also be used for service logic programs in the following.
The service data point SDP is a database containing customer and network data which is used by the service programs of the SCP to produce tailored services. The SCP can use SDP services directly via the signalling or data network.
The intelligent peripheral IP provides special services, such as announcements and voice and multiple choice recognition.
The service switching and control point SSCP consists of an SCP and SSP located in the same network element (in other words, if the SSP network element shown in the drawing contains both an SCF and an SSF entity, the network element in question is an SSCP).
The tasks of a service management system SMP include the management of the database (SDP), network monitoring and testing, and collecting network data. It can connect to all other physical entities.
The service creation environment point SCEP is used for specifying, developing and testing the IN services, and for entering the services in SMP.
The service adjunct AD is functionally equivalent to the service control point SCP, but it is directly connected to SSP with a fast data connection (for example, with an ISDN 30B+D connection) instead of via the common channel signalling network SS7.
The service node SN can control the IN services and perform data transfers with users. It communicates directly with one or more SSPs.
The service management access point SMAP is a physical entity which provides certain users with a connection to SMP.
A separate assisting SCP can also be associated with the SCP network element. For example a service provider can have this assisting SCP network element for maintaining a subscriber-specific number translation logic or a subscriber-specific routing logic, for example, said logic being offered to the SCP network element of the network operator for replenishing the control data therein.
The above is a brief description of the intelligent network as a background to the description of the method according to the invention. The interested reader can get a more detailed description of the intelligent network in, for example, ITU-T specifications Q.121X or in the AIN specifications of Bellcore.
An INAP (Intelligent Network Application Part) message set is used between an SSP and SCP, for example. (The message set is described e.g. in the standard ETSI IN CS1 INAP Part 1: Protocol Specification, Draft prETS 300 374-1, November 1993, to which the interested reader is referred for a more detailed exposition.) No actual protocol has been defined in the standards, only the messages employed, some of which are used in one transmission direction and some in the other. In addition to fixed and optional para-meters, also so called extension parameters have been defined in the messages. Hence, the different service logic programs may use messages of the same INAP message set, but in a different order and with different parameter values. The actual protocol level in the communication between the SSP and SCP is thus represented by these different service logic programs. Each service logic program sends to and receives from the network INAP messages.
All these INAP messages have been defined using the ASN.1 definition language. ASN.1 (Abstract Syntax Notation 1) is a description language commonly used in the telecommunications field, by means of which data structures are defined and encoded. The definition is regenerative, which means that any data element within any data structure can have as complex a structure as a data structure on an upper level.
When such data messages are received for example in an SCP network element of an intelligent network, only those parameters for which new values were provided in the received message are updated in the network element. When processing relating to provisioning of service is effected in the SCP network element on the basis of the received message, it must be checked in the service program which of the parameters contained in the message definition of the received message were included in the actual received data message (and which had been omitted at the transmitting end). This check is at present quite complicated, as the inclusion of a given parameter in the message is also dependent on whether the (outer) data structures surrounding said parameter are included in the message. Hence, the manner of checking for the presence of a parameter is dependent, except on what kind of row precedes said parameter (i.e., is the header) in the message definition of the received message, also on total structure of the message in question up to the point where said parameter is located according to the message definition. Checking for the presence of one parameter may thus comprise several successive checks, and moreover the parameters of messages of different types have different checking methods depending on the structure of each message type. This complex method of checking has been reached partly also for the reason that no xe2x80x9cemptyxe2x80x9d value directly indicating that a given parameter is not included in the processed message can be defined for the parameters.
It is an object of the invention to eliminate the above drawback and to provide a solution wherewith processing of the data content of data messages arriving at a network element and departing therefrom can be made simpler and faster than heretofore.
This object is achieved with the solution in accordance with the invention, which is defined in the independent claims.
The idea of the invention is to use auxiliary parameters for individual components (text rows in the ASN.1 definition) of the message definition, the values of the auxiliary parameters indicating whether the parameter (or data structure) corresponding to that component is included in the message. By means of the auxiliary parameters, complete information on the actual content of the message received or being sent is produced. Furthermore, this information is such that information on the presence of a given parameter is obtained by one comparison by checking the value of the auxiliary parameter specific to said parameter.
On account of the solution in accordance with the invention, a significant relief is achieved in the processing relating to data messages, as the presence of parameters can be checked in the network element without any need to construct, within the program carrying out the check, separately for each parameter a logic in which the total structure of said message type up to the location of said parameter has been taken into account.